var gulp = require('gulp'),
    ngAnnotate = require('gulp-ng-annotate'),
    ngmin = require('gulp-ngmin'),
    minifycss = require('gulp-minify-css'), //压缩css插件
    minifyimg = require('gulp-imagemin'), //压缩img插件
    uglify = require('gulp-uglify'), //压缩js插件
    htmlmin = require('gulp-htmlmin'), //压缩html插件
    del = require('del'); //执行压缩前，先删除压缩文件夹里的内容

//执行压缩前，先删除文件夹里的内容
gulp.task('clean', function(cb) {
    del(['minified/css', 'minified/images', 'minified/js', 'htmlminTest'], cb)
});

// 压缩css
gulp.task('minifycss', function() {
    return gulp.src('css/*.css') //压缩的文件
        .pipe(minifycss({})) //执行压缩
        .pipe(gulp.dest('minified/css')) //输出文件夹
});

// 压缩img
gulp.task('imgminTest', function() {
    return gulp.src('images/*.{jpg,png}') //img的文件路径
        .pipe(minifyimg({})) //执行压缩
        .pipe(gulp.dest('minified/images')) //输出文件夹
});

/*压缩js文件*/
gulp.task('jsminTest', function() {
    return gulp.src('framework/**/*.js') //压缩的文件
        .pipe(ngAnnotate())
        .pipe(ngmin({ dynamic: false })) //Pre-minify AngularJS apps with ngmin
        .pipe(uglify()) //执行压缩
        .pipe(gulp.dest('minified/framework')) //输出文件夹
});

/*压缩html文件*/
gulp.task('htmlminTest', function() {
    return gulp.src('tpls/**/*.html') //压缩的文件
        .pipe(htmlmin()) //执行压缩
        .pipe(gulp.dest('minified/tpls')) //输出文件夹
});

// 默认命令，在cmd中输入gulp后，执行的就是这个命令
gulp.task('default', ['clean', 'minifycss', 'imgminTest', 'jsminTest', 'htmlminTest']);
